草庐IT

Java BufferedImage 内存消耗

全部标签

c# - 我可以获得内存映射文件的路径吗? (.NET 4.0)

我希望非.NET应用程序访问内存映射文件,但此应用程序不知道内存映射文件的存在,因此我需要文件路径。有可能的? 最佳答案 他们有一些samplehere.编辑我认为this会提供答案。基本上,内存映射文件似乎需要某种内存指针,而不是文件系统路径。 关于c#-我可以获得内存映射文件的路径吗?(.NET4.0),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1114786/

c# - 如何在不先将整个列表加载到内存的情况下使用 Linq to Sql 实现 SkipWhile?

我需要按发布日期降序排列存储在数据库中的文章,然后使用Id==100获取文章之后的前20条记录。这就是我想用Linq做的事情:IQueryablearticles=db.Articles.OrderByDescending(a=>a.PublicationDate).SkipWhile(a=>a.Id!=100).Take(20);但是,这会生成NotSupportedException,因为LinqtoSql不支持SkipWhile(请参阅here)。一个可能的解决方案是执行查询,然后使用LinqtoObject应用SkipWhile:IEnumerablearticles=db.A

c# - 极端内存条件测试 : How to saturate RAM?

我想写一小段程序来启动线程,以线性方式消耗可用的RAM内存,直到达到一定水平,然后停止(理想情况下,暂停直到“足够”的内存被释放,然后继续创建线程,依此类推。)我尝试了以下操作,但是list.Add(newbyte[])需要连续的RAM空间并抛出一个OutOfMemoryException,这不是我想要的模拟。编辑:我有一个多线程的内存消耗型应用程序,它占用了一大堆RAMGB。我想要的只是在“实验室条件”中隔离/重现这种情况以解决它,即编写自适应内存监控/线程限制器草案。我正在使用x64操作系统和x64平台。说清楚:我想看到的结果是任务管理器内存监视器由于程序而直线上升。staticv

c# - get_SynonymInfo 某些词抛出内存不足异常

我有一个简单的测试程序,它使用MicrosoftWordInterop从同义词词典中获取词义:usingSystem;usingWord=Microsoft.Office.Interop.Word;classProgram{staticvoidMain(string[]args){stringword="elite";//="common";varapp=newWord.Application();varsynInfo=app.SynonymInfo[word,Word.WdLanguageID.wdEnglishUS];if(synInfo.Found&&synInfo.Meanin

c# - 如何并行处理内存映射文件中的数据

正如内存映射文件的名称所示,我知道可以使用C#中的MemoryMappedFile类将大文件的一部分映射到内存,以实现快速数据处理。我想对内存映射文件做的是并行处理内存映射。为了做到这一点,我有以下问题MemoryMappedFileViewAccessor是线程安全的还是Parallel.For安全的?我实际上制作了一个演示程序来测试这个问题,它似乎在工作。但是找不到关于此的任何引用。如果答案是肯定的,我就完成了。否则,有什么方法可以直接访问数组映射的内存吗?我知道MemoryMappedFileViewAccessor有ReadArray方法,但使用该方法是内存的重复。

c# - C#中const的内存分配

我使用时内存是如何分配的:publicclassMyClass{publicconststringmyEVENT="Event";//Othercode} 最佳答案 好吧,它是一个编译时常量-所以如果您从其他程序集中使用它,“事件”将被复制到那些其他程序集的IL中。是否进行内部交叉汇编取决于CLR设置IIRC。但是,如果您担心是否会为MyClass的每个实例获取一个新字符串或一个新字符串变量,则不需要担心-const意味着static。简而言之,除非您有大量大量常量(或大量字符串常量),否则不会给您带来问题。

c# - 开发和调试内存占用 C# 应用程序

我有一个C#应用程序,它必须与32位库链接并且还需要使用尽可能多的内存(成像应用程序);我们在XP64桌面上运行该应用程序,因此我们使用WOW64,目标是在VisualStudioforx86中构建(并执行editbin/largeaddressaware构建后)。我们遇到了一些问题:在VisualStudio内置调试​​器中,我们只能使用2gb内存(应用约1.5gb,加上开销)从命令行运行,应用程序可以看到3gb内存,但Microsoft文档似乎说我们应该看到4gb。谁能告诉我如何让WOW64C#应用程序看到平台应该能够提供的完整4gb?此外,谁能告诉我如何让VisualStudio

c# - 追踪 .NET Windows 服务内存泄漏

在生产环境中安装我的Windows服务之前,我一直在寻找可以执行的可靠测试,以确保我的代码不包含内存泄漏。但是,我在网上能找到的所有内容都是使用任务管理器查看已用内存或一些付费内存分析器工具。根据我的理解,查看任务管理器并没有多大帮助,也无法确认内存泄漏(以防万一)。如何确认是否有内存泄漏?有没有免费的工具可以找到内存泄漏的根源?注意:我使用的是.NetFramework4.6和VisualStudio2015Community 最佳答案 您可以使用任务管理器。GC应用程序可能会泄漏内存,它会在那里显示。但是……免费工具-“.Net

c# - 如何从 SQL Server 内存中清除 SqlDependency?

如何清理SQLServer以摆脱过期的SqlDependency对象?在我从SqlDepedency对象接收到事件后,我需要先创建一个新事件,然后才能获取新事件。但是,SQLServer进程的内存使用量会攀升,直到用完允许的内存(SQLServerExpress)。如何摆脱旧查询?代码://Func:RegisterTableListenerusing(SqlConnectioncn=newSqlConnection(Properties.Settings.Default.DatabseEventConnectionString)){if(cmd==null){cmd=cn.Creat

c# - 如何在不分配大量内存的情况下显示快速更新的图像?

我在超声机上安装了一个WPF应用程序,它以每秒30帧以上的速度显示用C++生成的超声图像。据我了解,在WPF中显示图像的正常过程是为您的图像创建一个BitmapSource并为您的图像设置Source,然后使其失效并显示。由于BitmapSources没有实现IDisposable,使用这种方法迫使我每秒创建30个BitmapSources。对于32bppArgb格式的640x480图像,每秒分配大约30MB/秒的内存,然后每10秒处理一次垃圾,导致明显的延迟。显然不是可接受的解决方案。我目前的解决方案是:在C++中:我在托管C++中创建一个System.Drawing.Bitmap(